package com.example.kehoobackend.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.kehoobackend.domain.Follow;
import com.example.kehoobackend.domain.User;

import java.util.List;
import java.util.Map;


//type: 用户为0，问题为1，话题为2

public interface FollowService extends IService<Follow> {

    //用户点击关注（用户 or 问题 or 话题）
    boolean followOne(int from_id,int to_id,int type);

    //用户取消关注（用户 or 问题 or 话题）
    boolean cancelOne(int from_id,int to_id,int type);

    //用户的所有关注（用户 or 问题 or 话题）
    Map<String,Object> allFollow(int user_id, int type);

    //计算用户关注数（用户 or 问题 or 话题）
    int countUserFollow(int user_id,int type);

    //计算被关注数（用户 or 问题 or 话题）（用户被关注数即粉丝数）
    int countFans(int id,int type);

    //是否存在关注关系
    boolean isFollow(int from_id, int to_id, int type);

    //查询所有关注者
    List<User> allFans(int id, int type);
}
